﻿using System;
using Runtime.Common.Interface;
using Runtime.Data.Interface;

namespace Runtime.DesignPattern
{
    public abstract class GameFactory<CT, V> : GameSingleton<CT>, IGameFactory<V> where CT : IGameSingleton
    {
        public abstract T Get<T>(IFunctionParameter data = null) where T : V;
        public abstract V Get(Type t, IFunctionParameter data = null);
    }
}